#ifndef PEONYRABBITVCSEMBLEMS_H
#define PEONYRABBITVCSEMBLEMS_H

#include <emblem-plugin-iface.h>

class PeonyRabbitVCSEmblems : public QObject, public Peony::EmblemPluginInterface
{
    Q_OBJECT
    Q_PLUGIN_METADATA(IID EmblemPluginInterface_iid FILE "peony-rabbitvcs-emblem.json")
    Q_INTERFACES(Peony::EmblemPluginInterface)

public:
    explicit PeonyRabbitVCSEmblems(QObject *parent = nullptr);

    PluginType pluginType() {return EmblemPlugin;}

    const QString name() {return tr("RabbitVCS emblems extensions");}
    const QString description() {return tr("Display vcs emblems for files");}
    const QIcon icon() {return QIcon::fromTheme("rabbitvcs");}
    void setEnable(bool enable) {}
    bool isEnable() {return true;}

    Peony::EmblemProvider *create();
};

class RabbitVCSEmblemProvider : public Peony::EmblemProvider
{
    Q_OBJECT

public:
    explicit RabbitVCSEmblemProvider(QObject *parent = nullptr);

    virtual const QString emblemKey();

    virtual QStringList getFileEmblemIcons(const QString &uri);
};

#endif // PEONYRABBITVCSEMBLEMS_H
